package 剑指专题.位运算;


/*
 * Author：江松
 * Date：2023/4/2 9:56
 *
 二进制中1的个数：
 移位统计,注意负数。所以直接枚举32位
 Java中位运算值为int
 */

public class Main2 {
    public int NumberOf1(int n){
        int res=0;
        for(int i=0;i<32;++i){
            if((n&(1<<i))!=0)res++;
        }
        return res;
    }
    /*
    //不能计算负数
    public int NumberOf1(int n) {
        int res=0;
        while(n!=0){
            if((n&1)==1)res++;
            n>>=1;
        }
        return res;
    }
    */
}
